On the Safety of Nöcker’s Strictness Analysis
نویسندگان
چکیده
This paper proves correctness of Nöcker’s method of strictness analysis, implemented for Clean, which is an effective way for strictness analysis in lazy functional languages based on their operational semantics. We improve upon the work of Clark, Hankin and Hunt, which addresses correctness of the abstract reduction rules. Our method also addresses the cycle detection rules, which are the main strength of Nöcker’s strictness analysis. We reformulate Nöcker’s strictness analysis algorithm in a higherorder lambda-calculus with case, constructors, letrec, and a nondeterministic choice operator ⊕ used as a union operator. Furthermore, the calculus is expressive enough to represent abstract constants like Top or Inf . The operational semantics is a small-step semantics and equality of expressions is defined by a contextual semantics that observes termination of expressions. The correctness of several reductions is proved using a context lemma and complete sets of forking and commuting diagrams. The proof is based mainly on an exact analysis of the lengths of normal order reductions. However, there remains a small gap: Currently, the proof for correctness of strictness analysis requires the conjecture that our behavioral preorder is contained in the contextual preorder. The proof is valid without referring to the conjecture, if no abstract constants are used in the analysis.
منابع مشابه
A Complete Proof of Nöcker’s Strictness Analysis
This paper proves correctness of Nöcker’s method of strictness analysis, implemented in the Clean compiler, which is an effective way for strictness analysis in lazy functional languages based on their operational semantics. We improve upon the work of Clark, Hankin and Hunt did on the correctness of the abstract reduction rules. Our method fully considers the cycle detection rules, which are t...
متن کاملThe Role of Corporate Governance Mechanisms and the Auditor's Specialty in Debt Contract Strictness
Objective: Violation of contractual conditions leads to the transmission of bad news due to poor performance and the expertise of auditors and regulatory mechanisms can be a factor in adjusting it. In this article, the purpose is to examine the role of strictness in the debt contract and the auditor's expertise. Research Method: In order to study the subject based on the logistic regression mo...
متن کاملAppendix of “ Safety of Nöcker ’ s Strictness Analysis ”
This document contains full proofs of (Schmidt-Schauß et al., n.d.).
متن کاملSafety of Nöcker's strictness analysis
This paper proves correctness of Nöcker’s method of strictness analysis, implemented in the Clean compiler, which is an effective way for strictness analysis in lazy functional languages based on their operational semantics. We improve upon the work Clark, Hankin and Hunt did on the correctness of the abstract reduction rules in two aspects. Our correctness proof is based on a functional core l...
متن کاملOptionality and Gradience in Persian Phonology: An Optimality Treatment
The distribution of the allophones of /?/in certain contexts involves free variation and gradient preferences. An organized survey was conducted to elicit the judgments of 37 native Persian speakers concerning the well-formedness of /?/allophonic behavior in five different phonological positions. The results showed that the differences in judgment between the various categories are not just t...
متن کامل